
<Serializable()> Public Class Publication
    Inherits MarshalByRefObject

    ' A publication should have a name.  The publisher in this version of
    ' the code uses the actual U.R.I. name given by the client code.
    Public Name As String

    ' We need to make sure that remoting only creates one object of our
    ' type for every instance, and that it resuses it.
    Public Overrides Function InitializeLifetimeService() As Object
        Return Nothing
    End Function

    ' This event set passes an event called from a publisher onto any of
    ' the subscribers that have subscriptions to this publication.
    Public Event PublishedIssue(ByVal Issue As Object)
    Public Sub PublishIssue(ByVal Issue As Object)
        RaiseEvent PublishedIssue(Issue)
    End Sub
End Class
